# -*- coding: utf-8 -*-
from auth.models import Profil
from sprManager.models import Sprawozdanie, Wytyczne
from django.http import HttpResponse, HttpResponseRedirect, Http404
from django.contrib.auth.decorators import login_required
from django.shortcuts import render_to_response


@login_required       
def showProfile(request, id_profilu=-1):
    dataProfil=Profil.objects.get(user=request.user)

    if dataProfil.isNauczyciel():
        if id_profilu>0:
            try:
                dataProfil=Profil.objects.get(pk=id_profilu)
            except Profil.DoesNotExist:
                raise Http404
            
            if dataProfil.user.is_superuser:
                raise Http404
            elif dataProfil.isNauczyciel():
                retData=nauczycielInfo(dataProfil)
            else:
                retData=uczenInfo(dataProfil)
        else:
            retData=nauczycielInfo(dataProfil)

    elif dataProfil.user.is_superuser:
        retData={"link":"Jesteś adminem, nie możesz zniżać się do poziomu zwykłego usera i posiadać profilu, dla pocieszenia przejdź do admina i zbanuj kogoś ;>"}
    else:
        retData=uczenInfo(dataProfil)

    return render_to_response("profile.html", {'retData':retData, 'user':dataProfil.user})

def uczenInfo(profil):
    try:
        retData={
          #   "type":"uczen",
             "Typ":"Użytkownik o uprawnieniach ucznia",
             "Nick":profil.user.username,
             u"Imię":profil.user.first_name,
             "Nazwisko":profil.user.last_name,
             "Grupa":profil.team.name,      #potencjalny błąd - kiedy jakimś cudem uda się stworzyć usera bez tego parameteru i nie jest nauczycielem nonetype err
             "Indeks":profil.indeks,
             "Sprawozdania":"",
         
         }
        tmp=Sprawozdanie.objects.filter(autorzy=profil)
        wynik=""
        for spr in tmp:
            wynik=wynik+" "+spr.retLink()
        retData['Sprawozdania']=wynik
    except profil.DoesNotExist:
        raise Http404
    
    return retData

def nauczycielInfo(profil):
    try:
        retData={
            # "type":"nauczyciel",
             "Typ":"Użytkownik o uprawnieniach nauczyciela",
             "Nick":profil.user.username,
             u"Imię":profil.user.first_name,
             "Nazwisko":profil.user.last_name,
             "Wytyczne":"",
         
         }
        tmp=Wytyczne.objects.filter(nauczyciel=profil)
        wynik=""
        for wyt in tmp:
            wynik=wynik+" "+wyt.retLink()
        retData['Wytyczne']=wynik
        
    except profil.DoesNotExist:
        raise Http404

    return retData